package org.cliff.message.platform.core.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 外部提供接口
 * @TableName mp_interface_config
 */
@TableName(value ="mp_interface_config")
@Data
public class InterfaceConfig implements Serializable {
    /**
     * 主键
     */
    private String id;

    /**
     * 功能编号
     */
    private String functionCode;

    /**
     * 创建时间
     */
    private Date createDatetime;

    /**
     * 更新时间
     */
    private Date updateDatetime;

    /**
     * 创建人
     */
    private String createOperator;

    /**
     * 最近修改人
     */
    private String updateOperator;

    /**
     * 逻辑删除(deleted，normal)
     */
    private String enumDelete;

    /**
     * 生效时间
     */
    private Date effDate;

    /**
     * 失效日期
     */
    private Date loseEffDate;

    /**
     * 系统类型 比如CMS SRM
     */
    private String sysType;

    /**
     * 接口地址
     */
    private String url;

    /**
     * 功能名称
     */
    private String functionName;

    /**
     * 通用接口编号
     */
    private String functionCodeCommon;

    /**
     * 认证方式  比如 Basic   OAuth 2.0
     */
    private String authType;

    /**
     * 认证用户名
     */
    private String userName;

    /**
     * 认证密码
     */
    private String passWord;

    /**
     * 队列
     */
    private String routingKey;

    /**
     * 推送系统
     */
    private String pushSystem;

    /**
     * 数据状态  ACTIVE  INACTIVE
     */
    private String dataStatus;

    /**
     * 模板ID-OA专用
     */
    private String templateId;

    /**
     * 系统参数
     */
    private Object sysPapms;

    /**
     * 所属业务系统名称，用于负载均衡发送
     */
    private String applicationName;

    /**
     * 请求提交方法 GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
     */
    private String httpMethod;

    /**
     * 自动重试次数
     */
    private Integer autoRetryTimes;

    /**
     * 自动重试间隔，单位秒
     */
    private Integer autoRetryInterval;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}